As technology advances, users are presented with a greater variety of devices that can send and receive messages. It is not uncommon for a typical office worker to send and receive messages on multiple devices including a telephone voicemail system, a personal digital assistant (PDA), a cell phone using a small messaging service (SMS), and a personal email account. While the ability to send and receive messages from multiple sources and devices creates flexibility for the worker, it also creates additional problems. For example, a worker is now responsible for checking several different devices, adding both time, expense, and stress, and a user desiring to send a message to the worker must guess what device that worker is currently using in order to have a high likelihood that the worker will receive the message timely.
In addition, there is often no reliable way for the sender of a message to know if a recipient has received the message, which could lead to multiple copies of the same message being sent and received. In mission critical applications, duplicate messages can be problematic. For example, a user may submit an order to sell 100 shares of stock via email. If the user is unsure of its delivery, he may send it again. There is no reliable way for the recipient to tell if the user wanted two separate sales of 100 shares of stock, or if the second message containing the order was a duplicate.
Previous solutions to these problems have often been inflexible and limited to certain technologies. For example, programs exist to convert email to SMS for receipt on a cell phone. However, these solutions often do not allow the receiver of the message to choose where he receives the message; instead, they rely on the sender to designate where the message is sent. Further, these solutions provide no assurance to the sender that the messages were received and no indications to the recipient if a message was sent. In addition, they require the sender of the message to be aware of the technologies the recipient has for receiving messages.
In view of the foregoing, there is a need for messaging system that reliably ensures that messages are delivered and duplicate messages are deleted. In addition, there is a need to provide users with the ability to send and receive messages to other users without concern for the devices being used to receive those messages, and, additionally choose when and with what devices they then can receive their own messages.